\hypertarget{classCRoutingIO}{
\section{\-C\-Routing\-I\-O \-Class \-Reference}
\label{classCRoutingIO}\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}}
}


{\ttfamily \#include $<$routing\-\_\-io.\-h$>$}

\-Inheritance diagram for \-C\-Routing\-I\-O\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classCRoutingIO}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCRoutingIO_ab16e81c752863b6c3a61a975045fbd44}{\-C\-Routing\-I\-O} ()
\item 
virtual \hyperlink{classCRoutingIO_a3ac8ff9188e5745e90cd30d35289782b}{$\sim$\-C\-Routing\-I\-O} ()
\item 
virtual int \hyperlink{classCRoutingIO_a865aedbbcac06e49b20836627231fd1c}{init} (\hyperlink{properties__reader_8h_a67847fd00cb49d80dd45f61722eb9a43}{\-C\-Properties\-Reader} $\ast$p\-Config)
\item 
virtual int \hyperlink{classCRoutingIO_a20339035ba21f1bb9fc702a75d3735f5}{destroy} ()
\item 
virtual int \hyperlink{classCRoutingIO_a375aa37b0805387ed610d23c3e1d031f}{read} (void $\ast$$\ast$p\-Data, \hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \&p\-Action, int p\-Timeout)
\item 
virtual int \hyperlink{classCRoutingIO_a6c1ddd2b9e0b4e48f6832cb6247c1135}{write} (void $\ast$p\-Data, const \hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \&p\-Action, int p\-Length)
\item 
virtual \hyperlink{structNAudioFormats_1_1SStreamInfo}{\-N\-Audio\-Formats\-::\-S\-Stream\-Info} \hyperlink{classCRoutingIO_a24140ba9720341e1187a726234afb4b4}{get\-Stream\-Info} ()
\item 
uint32\-\_\-t \hyperlink{classCRoutingIO_a4ab769caac33d78ec8f50bb5e14bac0c}{get\-Address\-Embeddee} () const 
\begin{DoxyCompactList}\small\item\em return the \-I\-P-\/address of the embedding party \end{DoxyCompactList}\item 
uint32\-\_\-t \hyperlink{classCRoutingIO_a1b2ced22273da117810db48324d7ad6a}{get\-Address\-Extractee} () const 
\begin{DoxyCompactList}\small\item\em return the \-I\-P-\/address of the extracting party \end{DoxyCompactList}\item 
void \hyperlink{classCRoutingIO_a74f4833289b456259086e2b866287c53}{print\-Current\-Packet} (uint8\-\_\-t $\ast$p\-Data, uint16\-\_\-t p\-Length)
\begin{DoxyCompactList}\small\item\em debugging method for printing the packet's contents \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{\-Private \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCRoutingIO_acdad3461e748daf612eeb5fe850bce6e}{\-C\-Routing\-I\-O} (const \hyperlink{classCRoutingIO}{\-C\-Routing\-I\-O} \&)
\item 
\hyperlink{classCRoutingIO}{\-C\-Routing\-I\-O} \& \hyperlink{classCRoutingIO_af87aa3d3afc1652ffdb613a3bdd4bdb8}{operator=} (const \hyperlink{classCRoutingIO}{\-C\-Routing\-I\-O} \&)
\item 
int \hyperlink{classCRoutingIO_afd78c0a7217d639a15e16d964d9112d2}{callback} (struct nfq\-\_\-q\-\_\-handle $\ast$p\-Nfq\-\_\-q\-\_\-handle, struct nfgenmsg $\ast$p\-Nf\-\_\-gen\-\_\-msg, struct nfq\-\_\-data $\ast$p\-Nfq\-\_\-data)
\item 
int32\-\_\-t \hyperlink{classCRoutingIO_a5baf71cba1faee25286b70f01a96566a}{get\-\_\-address} (const char $\ast$p\-Section, const char $\ast$p\-Key, uint32\-\_\-t $\ast$p\-Address)
\end{DoxyCompactItemize}
\subsection*{\-Static \-Private \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
static int \hyperlink{classCRoutingIO_add1fec48dbfec8f6a439da89b5be9e0b}{callback} (struct nfq\-\_\-q\-\_\-handle $\ast$p\-Nfq\-\_\-q\-\_\-handle, struct nfgenmsg $\ast$p\-Nf\-\_\-gen\-\_\-msg, struct nfq\-\_\-data $\ast$p\-Nfq\-\_\-data, void $\ast$p\-Data)
\end{DoxyCompactItemize}
\subsection*{\-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{properties__reader_8h_a67847fd00cb49d80dd45f61722eb9a43}{\-C\-Properties\-Reader} $\ast$ \hyperlink{classCRoutingIO_a0aa9533eb2b18090484067d8f96b7d70}{m\-Config}
\item 
uint32\-\_\-t \hyperlink{classCRoutingIO_ad92c5b480687decd553e44952968cab0}{m\-Address\-Embeddee}
\item 
uint32\-\_\-t \hyperlink{classCRoutingIO_a8caf7b7ce404aebeecc59c728cf1a523}{m\-Address\-Extractee}
\item 
struct \hyperlink{structNAudioFormats_1_1SStreamInfo}{\-N\-Audio\-Formats\-::\-S\-Stream\-Info} \hyperlink{classCRoutingIO_afc47cdb8f568281dd1f29bd3f6aab36a}{m\-Stream\-Info}
\item 
\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \hyperlink{classCRoutingIO_a15b68bba5a686388dceacde6d479915a}{m\-Action}
\item 
struct nfq\-\_\-handle $\ast$ \hyperlink{classCRoutingIO_ad9b39e550207f47052ff64870a85fe4a}{m\-Nfq\-\_\-handle}
\item 
struct nfq\-\_\-q\-\_\-handle $\ast$ \hyperlink{classCRoutingIO_a7b059b9cf154f14e3c12b1aea660eaf0}{m\-Nfq\-\_\-q\-\_\-handle}
\item 
int \hyperlink{classCRoutingIO_a4f78719c9b6fba9b84ddca472386db19}{m\-Nfq\-\_\-fd}
\item 
int \hyperlink{classCRoutingIO_a53c26272f978651b1b09d85f1a7ef2f9}{m\-Packet\-Length}
\item 
int \hyperlink{classCRoutingIO_a6c854e8cad7babe72383d84b3aa556be}{m\-Packet\-I\-D}
\item 
volatile bool \hyperlink{classCRoutingIO_a8be617115ccf75a8077098f589449e5e}{m\-Packet\-Ready}
\item 
\hyperlink{classCIPPacket}{\-C\-I\-P\-Packet} $\ast$ \hyperlink{classCRoutingIO_a3ce311f273a7cba9d541cded8a646db1}{m\-I\-P\-Packet}
\item 
\hyperlink{classCRTPPacket}{\-C\-R\-T\-P\-Packet} $\ast$ \hyperlink{classCRoutingIO_abcfc9f25a5455bebd2e82ab7077ea885}{m\-R\-T\-P\-Packet}
\end{DoxyCompactItemize}
\subsection*{\-Static \-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
static const std\-::string \hyperlink{classCRoutingIO_a98fcaea4b08f1607772c8fac5c1ea7fd}{s\-Ini\-Section\-Name} = \char`\"{}\-R\-T\-P\char`\"{}
\item 
static const std\-::string \hyperlink{classCRoutingIO_ac59e8b4d544dcf5436e2cb0b3afc30e5}{s\-Conf\-Address\-Embedee} = \char`\"{}\-A\-D\-D\-R\-E\-S\-S\-\_\-\-E\-M\-B\-E\-D\-E\-E\char`\"{}
\item 
static const std\-::string \hyperlink{classCRoutingIO_a7c85d3b1ad87b6ebb2bdfc36bc3e001f}{s\-Conf\-Address\-Extractee} = \char`\"{}\-A\-D\-D\-R\-E\-S\-S\-\_\-\-E\-X\-T\-R\-A\-C\-T\-E\-E\char`\"{}
\item 
static const std\-::string \hyperlink{classCRoutingIO_af0a72f480d73731e41c7286d949e67e2}{s\-Conf\-Nfqueue\-Num} = \char`\"{}\-N\-F\-Q\-U\-E\-U\-E\-\_\-\-N\-U\-M\char`\"{}
\item 
static const int \hyperlink{classCRoutingIO_a4c9c313c95bc23ecaca0b75ce7bb844d}{s\-Bytes\-Per\-Line} = 36
\end{DoxyCompactItemize}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classCRoutingIO_ab16e81c752863b6c3a61a975045fbd44}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}}
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{\-C\-Routing\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Routing\-I\-O\-::\-C\-Routing\-I\-O (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCRoutingIO_ab16e81c752863b6c3a61a975045fbd44}
\hypertarget{classCRoutingIO_a3ac8ff9188e5745e90cd30d35289782b}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!$\sim$\-C\-Routing\-I\-O@{$\sim$\-C\-Routing\-I\-O}}
\index{$\sim$\-C\-Routing\-I\-O@{$\sim$\-C\-Routing\-I\-O}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{$\sim$\-C\-Routing\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}virtual \-C\-Routing\-I\-O\-::$\sim$\-C\-Routing\-I\-O (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classCRoutingIO_a3ac8ff9188e5745e90cd30d35289782b}
\hypertarget{classCRoutingIO_acdad3461e748daf612eeb5fe850bce6e}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}}
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{\-C\-Routing\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Routing\-I\-O\-::\-C\-Routing\-I\-O (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-Routing\-I\-O} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_acdad3461e748daf612eeb5fe850bce6e}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classCRoutingIO_add1fec48dbfec8f6a439da89b5be9e0b}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!callback@{callback}}
\index{callback@{callback}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{callback}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Routing\-I\-O\-::callback (
\begin{DoxyParamCaption}
\item[{struct nfq\-\_\-q\-\_\-handle $\ast$}]{p\-Nfq\-\_\-q\-\_\-handle, }
\item[{struct nfgenmsg $\ast$}]{p\-Nf\-\_\-gen\-\_\-msg, }
\item[{struct nfq\-\_\-data $\ast$}]{p\-Nfq\-\_\-data, }
\item[{void $\ast$}]{p\-Data}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCRoutingIO_add1fec48dbfec8f6a439da89b5be9e0b}
\hypertarget{classCRoutingIO_afd78c0a7217d639a15e16d964d9112d2}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!callback@{callback}}
\index{callback@{callback}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{callback}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Routing\-I\-O\-::callback (
\begin{DoxyParamCaption}
\item[{struct nfq\-\_\-q\-\_\-handle $\ast$}]{p\-Nfq\-\_\-q\-\_\-handle, }
\item[{struct nfgenmsg $\ast$}]{p\-Nf\-\_\-gen\-\_\-msg, }
\item[{struct nfq\-\_\-data $\ast$}]{p\-Nfq\-\_\-data}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_afd78c0a7217d639a15e16d964d9112d2}
\hypertarget{classCRoutingIO_a20339035ba21f1bb9fc702a75d3735f5}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!destroy@{destroy}}
\index{destroy@{destroy}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{destroy}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Routing\-I\-O\-::destroy (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRoutingIO_a20339035ba21f1bb9fc702a75d3735f5}


\-Implements \hyperlink{classISampleIO_a4a3ef7be5c5abba7f9993913380cb14f}{\-I\-Sample\-I\-O}.

\hypertarget{classCRoutingIO_a5baf71cba1faee25286b70f01a96566a}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!get\-\_\-address@{get\-\_\-address}}
\index{get\-\_\-address@{get\-\_\-address}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{get\-\_\-address}]{\setlength{\rightskip}{0pt plus 5cm}int32\-\_\-t \-C\-Routing\-I\-O\-::get\-\_\-address (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{p\-Section, }
\item[{const char $\ast$}]{p\-Key, }
\item[{uint32\-\_\-t $\ast$}]{p\-Address}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_a5baf71cba1faee25286b70f01a96566a}
\hypertarget{classCRoutingIO_a4ab769caac33d78ec8f50bb5e14bac0c}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!get\-Address\-Embeddee@{get\-Address\-Embeddee}}
\index{get\-Address\-Embeddee@{get\-Address\-Embeddee}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{get\-Address\-Embeddee}]{\setlength{\rightskip}{0pt plus 5cm}uint32\-\_\-t \-C\-Routing\-I\-O\-::get\-Address\-Embeddee (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCRoutingIO_a4ab769caac33d78ec8f50bb5e14bac0c}


return the \-I\-P-\/address of the embedding party 

\begin{DoxyReturn}{\-Returns}
\-I\-P-\/address of the embedding party as 32-\/bit integer 
\end{DoxyReturn}
\hypertarget{classCRoutingIO_a1b2ced22273da117810db48324d7ad6a}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!get\-Address\-Extractee@{get\-Address\-Extractee}}
\index{get\-Address\-Extractee@{get\-Address\-Extractee}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{get\-Address\-Extractee}]{\setlength{\rightskip}{0pt plus 5cm}uint32\-\_\-t \-C\-Routing\-I\-O\-::get\-Address\-Extractee (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCRoutingIO_a1b2ced22273da117810db48324d7ad6a}


return the \-I\-P-\/address of the extracting party 

\begin{DoxyReturn}{\-Returns}
\-I\-P-\/address of the extracting party as 32-\/bit integer 
\end{DoxyReturn}
\hypertarget{classCRoutingIO_a24140ba9720341e1187a726234afb4b4}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!get\-Stream\-Info@{get\-Stream\-Info}}
\index{get\-Stream\-Info@{get\-Stream\-Info}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{get\-Stream\-Info}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf \-N\-Audio\-Formats\-::\-S\-Stream\-Info} \-C\-Routing\-I\-O\-::get\-Stream\-Info (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classCRoutingIO_a24140ba9720341e1187a726234afb4b4}


\-Implements \hyperlink{classISampleIO_a9e43c9190bd486f654f930aa49af48d1}{\-I\-Sample\-I\-O}.

\hypertarget{classCRoutingIO_a865aedbbcac06e49b20836627231fd1c}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!init@{init}}
\index{init@{init}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Routing\-I\-O\-::init (
\begin{DoxyParamCaption}
\item[{{\bf \-C\-Properties\-Reader} $\ast$}]{p\-Config}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRoutingIO_a865aedbbcac06e49b20836627231fd1c}
\begin{DoxyNote}{\-Note}
\-The instance of the properties reader will be freed (delete) by the main programm and is not allowed by the deconstructor of an inherit \-I\-O class.
\end{DoxyNote}

\begin{DoxyParams}{\-Parameters}
{\em p\-Config} & pointer to the properties reader \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
0 on success, -\/1 otherwise 
\end{DoxyReturn}


\-Implements \hyperlink{classISampleIO_ab8ef7dd9048d0944d3c5f50329e0874d}{\-I\-Sample\-I\-O}.

\hypertarget{classCRoutingIO_af87aa3d3afc1652ffdb613a3bdd4bdb8}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!operator=@{operator=}}
\index{operator=@{operator=}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-Routing\-I\-O}\& \-C\-Routing\-I\-O\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-Routing\-I\-O} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_af87aa3d3afc1652ffdb613a3bdd4bdb8}
\hypertarget{classCRoutingIO_a74f4833289b456259086e2b866287c53}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!print\-Current\-Packet@{print\-Current\-Packet}}
\index{print\-Current\-Packet@{print\-Current\-Packet}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{print\-Current\-Packet}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-Routing\-I\-O\-::print\-Current\-Packet (
\begin{DoxyParamCaption}
\item[{uint8\-\_\-t $\ast$}]{p\-Data, }
\item[{uint16\-\_\-t}]{p\-Length}
\end{DoxyParamCaption}
)}}
\label{classCRoutingIO_a74f4833289b456259086e2b866287c53}


debugging method for printing the packet's contents 


\begin{DoxyParams}{\-Parameters}
{\em p\-Data} & pointer to the memory area representing the packet \\
\hline
{\em p\-Length} & length of the memory area in bytes \\
\hline
\end{DoxyParams}
\hypertarget{classCRoutingIO_a375aa37b0805387ed610d23c3e1d031f}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!read@{read}}
\index{read@{read}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Routing\-I\-O\-::read (
\begin{DoxyParamCaption}
\item[{void $\ast$$\ast$}]{p\-Data, }
\item[{{\bf \-E\-Action} \&}]{p\-Action, }
\item[{int}]{p\-Timeout}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRoutingIO_a375aa37b0805387ed610d23c3e1d031f}

\begin{DoxyParams}{\-Parameters}
{\em p\-Data} & \-Array of bytes, read from media. \-The buffer for data will be provided by the read method. \-Therefore a void$\ast$$\ast$ and not a void$\ast$ is needed. \\
\hline
{\em p\-Action} & displays what has to be done, it also enables the direction from which data came from \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
number of bytes read, 0 for \-E\-O\-F and -\/1 for a timeout or an error 
\end{DoxyReturn}


\-Implements \hyperlink{classISampleIO_a5843d1feda7bfffb86dd260a08f5516d}{\-I\-Sample\-I\-O}.

\hypertarget{classCRoutingIO_a6c1ddd2b9e0b4e48f6832cb6247c1135}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!write@{write}}
\index{write@{write}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Routing\-I\-O\-::write (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Data, }
\item[{const {\bf \-E\-Action} \&}]{p\-Action, }
\item[{int}]{p\-Length}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRoutingIO_a6c1ddd2b9e0b4e48f6832cb6247c1135}

\begin{DoxyParams}{\-Parameters}
{\em p\-Data} & \-Address of the \-Buffer which will be written to the media. \\
\hline
{\em p\-Action} & displays what has to be done, it also enables the direction from which data came from \\
\hline
{\em p\-Length} & \-Length/\-Size of the buffer (unit\-: byte) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
number of bytes written or -\/1 for an error 
\end{DoxyReturn}


\-Implements \hyperlink{classISampleIO_ae2026aece7114980b715076b45b906f9}{\-I\-Sample\-I\-O}.



\subsection{\-Member \-Data \-Documentation}
\hypertarget{classCRoutingIO_a15b68bba5a686388dceacde6d479915a}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-Action@{m\-Action}}
\index{m\-Action@{m\-Action}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-Action}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-E\-Action} {\bf \-C\-Routing\-I\-O\-::m\-Action}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_a15b68bba5a686388dceacde6d479915a}
\hypertarget{classCRoutingIO_ad92c5b480687decd553e44952968cab0}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-Address\-Embeddee@{m\-Address\-Embeddee}}
\index{m\-Address\-Embeddee@{m\-Address\-Embeddee}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-Address\-Embeddee}]{\setlength{\rightskip}{0pt plus 5cm}uint32\-\_\-t {\bf \-C\-Routing\-I\-O\-::m\-Address\-Embeddee}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_ad92c5b480687decd553e44952968cab0}
\hypertarget{classCRoutingIO_a8caf7b7ce404aebeecc59c728cf1a523}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-Address\-Extractee@{m\-Address\-Extractee}}
\index{m\-Address\-Extractee@{m\-Address\-Extractee}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-Address\-Extractee}]{\setlength{\rightskip}{0pt plus 5cm}uint32\-\_\-t {\bf \-C\-Routing\-I\-O\-::m\-Address\-Extractee}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_a8caf7b7ce404aebeecc59c728cf1a523}
\hypertarget{classCRoutingIO_a0aa9533eb2b18090484067d8f96b7d70}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-Config@{m\-Config}}
\index{m\-Config@{m\-Config}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-Config}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-Properties\-Reader}$\ast$ {\bf \-C\-Routing\-I\-O\-::m\-Config}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_a0aa9533eb2b18090484067d8f96b7d70}
\hypertarget{classCRoutingIO_a3ce311f273a7cba9d541cded8a646db1}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-I\-P\-Packet@{m\-I\-P\-Packet}}
\index{m\-I\-P\-Packet@{m\-I\-P\-Packet}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-I\-P\-Packet}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-I\-P\-Packet}$\ast$ {\bf \-C\-Routing\-I\-O\-::m\-I\-P\-Packet}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_a3ce311f273a7cba9d541cded8a646db1}
\hypertarget{classCRoutingIO_a4f78719c9b6fba9b84ddca472386db19}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-Nfq\-\_\-fd@{m\-Nfq\-\_\-fd}}
\index{m\-Nfq\-\_\-fd@{m\-Nfq\-\_\-fd}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-Nfq\-\_\-fd}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-C\-Routing\-I\-O\-::m\-Nfq\-\_\-fd}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_a4f78719c9b6fba9b84ddca472386db19}
\hypertarget{classCRoutingIO_ad9b39e550207f47052ff64870a85fe4a}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-Nfq\-\_\-handle@{m\-Nfq\-\_\-handle}}
\index{m\-Nfq\-\_\-handle@{m\-Nfq\-\_\-handle}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-Nfq\-\_\-handle}]{\setlength{\rightskip}{0pt plus 5cm}struct nfq\-\_\-handle$\ast$ {\bf \-C\-Routing\-I\-O\-::m\-Nfq\-\_\-handle}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_ad9b39e550207f47052ff64870a85fe4a}
\hypertarget{classCRoutingIO_a7b059b9cf154f14e3c12b1aea660eaf0}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-Nfq\-\_\-q\-\_\-handle@{m\-Nfq\-\_\-q\-\_\-handle}}
\index{m\-Nfq\-\_\-q\-\_\-handle@{m\-Nfq\-\_\-q\-\_\-handle}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-Nfq\-\_\-q\-\_\-handle}]{\setlength{\rightskip}{0pt plus 5cm}struct nfq\-\_\-q\-\_\-handle$\ast$ {\bf \-C\-Routing\-I\-O\-::m\-Nfq\-\_\-q\-\_\-handle}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_a7b059b9cf154f14e3c12b1aea660eaf0}
\hypertarget{classCRoutingIO_a6c854e8cad7babe72383d84b3aa556be}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-Packet\-I\-D@{m\-Packet\-I\-D}}
\index{m\-Packet\-I\-D@{m\-Packet\-I\-D}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-Packet\-I\-D}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-C\-Routing\-I\-O\-::m\-Packet\-I\-D}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_a6c854e8cad7babe72383d84b3aa556be}
\hypertarget{classCRoutingIO_a53c26272f978651b1b09d85f1a7ef2f9}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-Packet\-Length@{m\-Packet\-Length}}
\index{m\-Packet\-Length@{m\-Packet\-Length}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-Packet\-Length}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-C\-Routing\-I\-O\-::m\-Packet\-Length}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_a53c26272f978651b1b09d85f1a7ef2f9}
\hypertarget{classCRoutingIO_a8be617115ccf75a8077098f589449e5e}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-Packet\-Ready@{m\-Packet\-Ready}}
\index{m\-Packet\-Ready@{m\-Packet\-Ready}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-Packet\-Ready}]{\setlength{\rightskip}{0pt plus 5cm}volatile bool {\bf \-C\-Routing\-I\-O\-::m\-Packet\-Ready}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_a8be617115ccf75a8077098f589449e5e}
\hypertarget{classCRoutingIO_abcfc9f25a5455bebd2e82ab7077ea885}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-R\-T\-P\-Packet@{m\-R\-T\-P\-Packet}}
\index{m\-R\-T\-P\-Packet@{m\-R\-T\-P\-Packet}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-R\-T\-P\-Packet}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-R\-T\-P\-Packet}$\ast$ {\bf \-C\-Routing\-I\-O\-::m\-R\-T\-P\-Packet}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_abcfc9f25a5455bebd2e82ab7077ea885}
\hypertarget{classCRoutingIO_afc47cdb8f568281dd1f29bd3f6aab36a}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!m\-Stream\-Info@{m\-Stream\-Info}}
\index{m\-Stream\-Info@{m\-Stream\-Info}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{m\-Stream\-Info}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf \-N\-Audio\-Formats\-::\-S\-Stream\-Info} {\bf \-C\-Routing\-I\-O\-::m\-Stream\-Info}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRoutingIO_afc47cdb8f568281dd1f29bd3f6aab36a}
\hypertarget{classCRoutingIO_a4c9c313c95bc23ecaca0b75ce7bb844d}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!s\-Bytes\-Per\-Line@{s\-Bytes\-Per\-Line}}
\index{s\-Bytes\-Per\-Line@{s\-Bytes\-Per\-Line}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{s\-Bytes\-Per\-Line}]{\setlength{\rightskip}{0pt plus 5cm}const int {\bf \-C\-Routing\-I\-O\-::s\-Bytes\-Per\-Line} = 36\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCRoutingIO_a4c9c313c95bc23ecaca0b75ce7bb844d}
\hypertarget{classCRoutingIO_ac59e8b4d544dcf5436e2cb0b3afc30e5}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!s\-Conf\-Address\-Embedee@{s\-Conf\-Address\-Embedee}}
\index{s\-Conf\-Address\-Embedee@{s\-Conf\-Address\-Embedee}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{s\-Conf\-Address\-Embedee}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string {\bf \-C\-Routing\-I\-O\-::s\-Conf\-Address\-Embedee} = \char`\"{}\-A\-D\-D\-R\-E\-S\-S\-\_\-\-E\-M\-B\-E\-D\-E\-E\char`\"{}\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCRoutingIO_ac59e8b4d544dcf5436e2cb0b3afc30e5}
\hypertarget{classCRoutingIO_a7c85d3b1ad87b6ebb2bdfc36bc3e001f}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!s\-Conf\-Address\-Extractee@{s\-Conf\-Address\-Extractee}}
\index{s\-Conf\-Address\-Extractee@{s\-Conf\-Address\-Extractee}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{s\-Conf\-Address\-Extractee}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string {\bf \-C\-Routing\-I\-O\-::s\-Conf\-Address\-Extractee} = \char`\"{}\-A\-D\-D\-R\-E\-S\-S\-\_\-\-E\-X\-T\-R\-A\-C\-T\-E\-E\char`\"{}\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCRoutingIO_a7c85d3b1ad87b6ebb2bdfc36bc3e001f}
\hypertarget{classCRoutingIO_af0a72f480d73731e41c7286d949e67e2}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!s\-Conf\-Nfqueue\-Num@{s\-Conf\-Nfqueue\-Num}}
\index{s\-Conf\-Nfqueue\-Num@{s\-Conf\-Nfqueue\-Num}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{s\-Conf\-Nfqueue\-Num}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string {\bf \-C\-Routing\-I\-O\-::s\-Conf\-Nfqueue\-Num} = \char`\"{}\-N\-F\-Q\-U\-E\-U\-E\-\_\-\-N\-U\-M\char`\"{}\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCRoutingIO_af0a72f480d73731e41c7286d949e67e2}
\hypertarget{classCRoutingIO_a98fcaea4b08f1607772c8fac5c1ea7fd}{
\index{\-C\-Routing\-I\-O@{\-C\-Routing\-I\-O}!s\-Ini\-Section\-Name@{s\-Ini\-Section\-Name}}
\index{s\-Ini\-Section\-Name@{s\-Ini\-Section\-Name}!CRoutingIO@{\-C\-Routing\-I\-O}}
\subsubsection[{s\-Ini\-Section\-Name}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string {\bf \-C\-Routing\-I\-O\-::s\-Ini\-Section\-Name} = \char`\"{}\-R\-T\-P\char`\"{}\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCRoutingIO_a98fcaea4b08f1607772c8fac5c1ea7fd}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{routing__io_8h}{routing\-\_\-io.\-h}\item 
\hyperlink{routing__io_8cxx}{routing\-\_\-io.\-cxx}\end{DoxyCompactItemize}
